<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>

</body>
</html>
<script>
// 为什么要有对象：
var mingName = '小明', mingAge = 28, mingWeight = '70kg'; // ...

// 对象的作用，将多个 变量，放到 一起：

/* 字面量 声明形式 - 语法：
  var 变量名 = {
    key1: value/表达式,  // key1 表示属性名；value表示属性值，其可以是 表达式
  }

  例子：
  var ming = {
    name: '小明' + '君',
    age: 28,
    weight: '70kg'
  }
  console.log(ming);
 */

/* 构造函数(类) 声明：
  var 变量名 = new Object({
    key1: value/表达式,
    ...
  })

  // 例子：
  var ming = new Object({
    name: '小明' + '君一',
    age: 28,
    weight: '70kg'
  });
  console.log(ming);
 */

// 对象的好处：一个变量里面，可以放 多个 属性（其本质也是 变量）
  // 可扩展性，强👍🏻

// ------------------：「查」
// 如何获取 对象的 key/属性：
var ming = {
  name: '小明' + '君',
  age: 48,
  weight: '70kg'
};

// 第一种 获取对象属性的方式：obj.keyName
  // eg：console.log(ming.name);

// 第二种 获取对象属性的方式：obj[表达式]
  // eg1：console.log(ming['a' + 'g' + 'e']);
  // eg2：var key = 'name'; console.log(ming[key])
  // eg3: console.log(ming['name'])  

// ---------------：「增」
// 写法1：obj.newKey = 表达式
// 写法2：obj[表达式] = 表达式

// ---------------:「改」
// 写法1：obj.oldKey = 表达式
// 写法2：obj[表达式] = 表达式


// ---------------：「删」
// delete obj.oldKey
// delete obj[表达式]
// 例子：delete ming.age;
</script>